package cn.lvhang.basic.mapper;

import cn.lvhang.basic.query.BaseQuery;


import java.util.List;

/**
 * 部门数据操作接口
 * CRUD  分页 + 高级查询
 */
public interface BaseMapper<T> {

    //添加一条记录
    void save(T t);

    //修改一条记录
    void update(T t);

    //移除一条记录
    void remove(Long id);

    //加载一条记录
    T loadById(Long id);

    //加载所有数据
    List<T> loadAll();

    //加载总条数
    Integer queryCount(BaseQuery query);

    //加载当前页数据
    List<T> queryData(BaseQuery query);

    //批量删除
    void patchDelete(List<Long> ids);
}
